The present disclosure relates to capturing a snapshot of a translation table to persist it efficiently. In particular, the present disclosure describes recreating the translation table from the snapshot on boot-up under constrained memory conditions. Still more particularly, the present disclosure relates to a mechanism to reconstruct translation table based statistics after a planned and unplanned shutdown.
Many storage device and systems use a dynamic translation table that keeps track of latest mapping of a logical block to physical media. As and when logical blocks are overwritten, the translation table is updated to point to the new physical media location and the old physical media location is reclaimed by the garbage collection process. Examples of such devices and systems include flash based SSDs, SMR drives, key-value and object stores, etc.
As device capacities increase, and also when data reduction (e.g. compression and deduplication) techniques are active, the number of logical blocks (user data) that can be stored on the device increases, hence increasing the memory consumption of translation structures. In such systems, a paged translation system may be implemented to constrain the memory consumption. A paged translation system stores a subset of translation table entries on the storage media with dynamic ‘page-in’ and ‘page-out’ of translation table entries depending on data access pattern. These systems pose unique challenges with respect to reconstructing the translation table state on boot up after planned and unplanned shutdown.